<?php
namespace app\index\controller;

use think\Exception;
use think\facade\Filesystem;
use think\facade\Request;
use think\facade\View;

class File{

    //负责渲染页面  form表单写得页
     public function index(){
          return View::fetch();
      }


      //文件上传
       public static function   getImgUpload($filename='brand_logo',$dir='upload',$rule='md5'){
           try{
               //接参上传
               $file=Request::file();
               //filesize:文件大小  fileExt文件后缀,多个用逗号分割或者数组    image验证图像文件的尺寸和类型
               validate([$filename=>'filesize:10240|fileExt:jpg|image:200,200,jpg'])
                   ->check($file);
               $savenames=[];
               foreach ($file[$filename] as $img){
                   $savename =Filesystem::disk('public')->putFile($dir,$img,$rule);
                   $savenames[]=str_replace('\\','/',$savename);

               }
               $savenames= implode(',',$savenames);
               echo $savename;
           }catch (\think\exception\ValidateException $e) {
              return [false,$e->getMessage()] ;
           }catch (Exception $e) {
               $savenames = '';
           }
           return [true,$savenames];
       }

        //负责处理数据
     public function fileImg(){
         list($status,$savenames)=self::getImgUpload();
         if (!$status){
             $this->error($savenames);
         }
         //接参
        $param= Request::param();
         //添加
         $data=[
             'brand_name'=>$param['brand_name'],
             'brand_logo'=> $savenames,
         ];



         //disk将图片存入自己想要放进得文件内
         // $savename =Filesystem::disk('public')->putFile('image',$file);
         //putFileAs自定义文件名
         // $savename =Filesystem::disk('public')->putFileAs('image',$file,'xiaozhan.jpg');
         // 建立一个以时间 年/月/日 为格式的文件夹 + 两位的随机字符 + 文件名；（/年/月/日/AB/文件名.jpg）
         //文件名以时间的微秒级+6位随机数 MD5 生成。
         //以时间 年/月/日 为格式的文件夹
         //$time=date('Y-m-d',time());
         //两位的随机字符
         //$arr=['a','b','c','d','e','f',1,2,3,4,5,6,7];
         //shuffle($arr);
         //$str=implode('',$arr);
        // $str=substr($str,0,2);
            //时间的微秒级
         //$date=microtime(true);
            //6位随机数生成
         // $md=mt_rand(100000,999999);
          //文件名以时间的微秒级+6位随机数 MD5 生成
          //$ming=md5($date.$md);
          //获取文件扩展名
         // $file->extension();
        // $savename =Filesystem::disk('public')->putFileAs($time,$file,$str.'_'.$ming.'.'.$file->extension());

            //当第三个参数为MD5与sha1时 相同文件得到的路径一样 前两个随机字符串为文件夹名
            //data为时间文件夹
         //第一参数可以为空
         //$savename =Filesystem::disk('public')->putFile('image',$file,'md5');
         //在config下得filestem.php更改磁盘路径,可以自定义路径使用
        //字符串替换将斜线转正好放在数据库内
         //$savename=str_replace('\\','/',$savename);
        // echo $savename;
      }


}